package read.niit.dao

import java.sql.PreparedStatement

import read.niit.util.JDBCUtil

class Top4WithGradeBookDao {

/*  def insertTopData(topRdd: Array[(String, Int)]): Unit = {
    val conn = JDBCUtil.getConnection
    val insertQuery = "INSERT INTO gradeBookTable(grade_id) VALUES (?)"
    val pstmt: PreparedStatement = conn.prepareStatement(insertQuery)
    // 清空 MySQL 表数据
    val st = conn.createStatement()
    st.executeUpdate("TRUNCATE TABLE gradeBookTable")
    // 迭代每一行并将它们插入到 MySQL 表中
    topRdd.foreach { row =>
      pstmt.setString(1, row._1)
      pstmt.executeUpdate()
    }
    pstmt.close()
    conn.close()
  }
}

 */

  def selectGradeById(grade_id: String): Boolean = {
    // 1.获得MySQL连接
    val conn = JDBCUtil.getConnection
    // 2.编写需要执行的SQL语句，以及参数
    val bool = JDBCUtil.isExist(conn,
      """SELECT
        |      *
        | FROM
        |     gradeBookTable
        | WHERE
        |     grade_id = ?
        |""".stripMargin,Array(grade_id))
    // 3.关闭连接
    conn.close()
    // 4.返回值
    bool
  }

  def insertGradeInfo(grade_id: String,count:Int): Int = {
    // 1.获得MySQL连接
    val conn = JDBCUtil.getConnection
    // 2.编写需要执行的SQL语句，以及参数
    val result: Int = JDBCUtil.executeUpdate(conn,
      """
        |INSERT INTO
        |   gradeBookTable
        |   (grade_id,count)
        |VALUES
        |   (?,?)
        |ON DUPLICATE KEY UPDATE
        |   grade_id = ?
        |""".stripMargin, Array(grade_id, count, grade_id))
    // 3.关闭连接
    conn.close()
    result
  }

  def updateGradeInfo(grade_id: String,count:Int) = {
    // 1.获得MySQL连接
    val conn = JDBCUtil.getConnection
    // 2.编写需要执行的SQL语句，以及参数
    val result: Int = JDBCUtil.executeUpdate(conn,
      """
        |update gradeBookTable
        |   set count = ?
        |where
        |   grade_id = ?
        |""".stripMargin, Array(count, grade_id))
    // 3.关闭连接
    conn.close()
  }
}

